gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/de_subcarr_mapping.m

    function recPrecodedSymbCell = de_subcarr_mapping(recSymb,iUE)
% 功能:去子载波映射 获取当前UE对应的载波
% 输入:
%      recSymb:接收到的所有频域复值符号
%          iUE:第iUE个用户
% 输出:
%     recPrecodedSymbCell:得到用户的频域信号,用于去预编码操作
% 
%  Author:		程式小组(徐萌 张妙 张晓庆)
%  Date:		2010-07-11
%  ===========================================================
global LTE_par

nRx = LTE_par.UE_par.nAnt;
nRB = LTE_par.UE_par.nRB(iUE);
scPerRB = LTE_par.scPerRB;
RB_DL = LTE_par.RB_DL; % 下行可用资源块
FFT_SIZE = LTE_par.FFT_SIZE;
startCarr = LTE_par.schedule.startCarr(iUE);% 起始子载波位置
% =========以下参数测试用=====================
% nTx = 1;
% nRB = 5;
% FFT_SIZE = 2048;
% scPerRB = 12;
% startCarr = 0;% 起始子载波位置
% ==========================================

% 可用子载波位置 
availableCarr = [FFT_SIZE-RB_DL*scPerRB/2+1:FFT_SIZE 2:RB_DL*scPerRB/2+1];
% availableCarr = [2:RB_DL*scPerRB/2+1 FFT_SIZE-RB_DL*scPerRB/2+1:FFT_SIZE]; 

nSubCarr = nRB*scPerRB; % 第iUE个用户占用的子载波数
% 用户iUE占用载波位置
occupyCarr = startCarr+1:nSubCarr+startCarr;

recPrecodedSymbCell = cell(nRx,1);
for iRx = 1:nRx
    recPrecodedSymbCell{iRx} = recSymb{iRx}(availableCarr(occupyCarr),:);
end